home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 23 / Amiga Format AFCD23 (Feb 1998, Issue 107).iso / -screenplay- / shareware / hammytown / graal.main < prev    next >
Text File  |  1997-12-01  |  31KB  |  810 lines

  1. /*
  2. /* This is the graal.main script file for Hammy Town, 
  3. /* the dodgiest ever GRAAL Graphic Adventure. Heavily annotated.
  4. /*
  5. /* If there's a statement or command that you wish to know more
  6. /* about, just put the cursor over the statement or command name and
  7. /* press the HELP key. (This requires the GRAAL.guide file to be
  8. /* in the same directory as the script file and the editor...)
  9. /*
  10.  
  11.  
  12. /* ===================================================================== */
  13. /*                                                                       */
  14. /*     General adventure and player interface set-up comes first...      */
  15. /*                                                                       */
  16. /* ===================================================================== */
  17.  
  18. /* NAME: string
  19. /*
  20. /*   The name of the adventure
  21. /*
  22. NAME: "Esape From Hammy Town"
  23.  
  24. /* VERSION: string
  25. /*
  26. /*   The version number of the adventure
  27. /*
  28. VERSION: 1.10
  29.  
  30. /* MAX_CACHE: number of files
  31. /*
  32. /*   This number is the maximum number of files to be
  33. /*   buffered in RAM: of machines with memory to spare.
  34. /*
  35. /*   A good practice is to set to 0 during development
  36. /*   and to 100 when playing (or testing without altering
  37. /*   too much in the files).
  38. /*
  39. /*   Normally, the true number of cached files are
  40. /*   calculated according to the available memory - if
  41. /*   you have put together a weird game where your
  42. /*   files average more then 50K, you may want to lower
  43. /*   the cache to just a few files - say 10 or 20. Normally, 
  44. /*   100 should be just fine, though.
  45. /*
  46. MAX_CACHE: 100
  47.  
  48. /* WALK_BUTTON: LEFT or RIGHT
  49. /*
  50. /*   This is the button used for "walking about"
  51. /*
  52. WALK_BUTTON: LEFT
  53.  
  54. /* EXIT_COL: colour
  55. /*
  56. /*   The colour of the text marking the exits
  57. /*
  58. EXIT_COL: 8
  59.  
  60. /* OBJ_COL: colour
  61. /*
  62. /*   The colour of the text marking the objects
  63. /*
  64. OBJ_COL: 1
  65.  
  66. /* START_ROOM: roomnumber;entrance
  67. /*
  68. /*   This is the room where the whole adventure starts
  69. /*
  70. START_ROOM: 1;1
  71.  
  72. /* MAX_ROOM: rooms
  73. /*
  74. /*   The highest room number used. Don't forget to alter this
  75. /*   when higher numbered rooms are added to the game!!
  76. /*
  77. MAX_ROOM: 50
  78.  
  79. /* MAX_SECTION: sections
  80. /*
  81. /*   The highest section number used. Don't forget to alter this
  82. /*   as sections are added to the game!
  83. /*
  84. MAX_SECTION: 2
  85.  
  86. /* MAX_DACT: direct_room_actions
  87. /*
  88. /*   The maximum number of direct room actions used anywhere in a
  89. /*   room file. Keep an eye on this value as your adventure
  90. /*   gets more complex...
  91. /*
  92. MAX_DACT: 50
  93.  
  94. MAX_ACTION: 100
  95. MAX_DLG: 10
  96.  
  97. /* GLOBALOBJS: number
  98. /*
  99. /*   Specifies the number of global objects. These are the
  100. /*   objects which can be used throughout the whole adventure, 
  101. /*   and also all objects with which you can talk using dialogues
  102. /*
  103. GLOBALOBJS: 50
  104.  
  105. /* SECTIONOBJS: number
  106. /*
  107. /*   Specifies the number of objects that only exists when
  108. /*   visiting a certain section.
  109. /*
  110. /*   Note that all object flags, new
  111. /*   names and states are lost when the section is exited, 
  112. /*   so any states must be saved and restored using
  113. /*   room flags!!!
  114. /*
  115. SECTIONOBJS: 2
  116.  
  117. /* ROOMOBJS: number
  118. /*
  119. /*   Specifies the number of objects that only exist within one room.
  120. /*   Note that no altered flags, states or names for these objects
  121. /*   remain between visits to the room: Any state changes must
  122. /*   be saved and stored using room flags!!!
  123. /*
  124. ROOMOBJS: 20
  125.  
  126. /* N_GLOBALBOBS: number
  127. /*
  128. /*   Specifies the number of global BOBs that can be
  129. /*   used. Actual BOB numbers for these start with 11 and
  130. /*   not 1, since BOB image bank slots 1-10 are reserved
  131. /*   for system use.
  132. /*
  133. N_GLOBALBOBS: 80
  134.  
  135. /* N_SECTIONBOBS: number
  136. /*
  137. /*   Specifies the number of section BOB images. These are
  138. /*   replaced each time the game enters a new section.
  139. /*
  140. N_SECTIONBOBS: 2
  141.  
  142. /* N_ROOMBOBS: number
  143. /*
  144. /*   Specifies the number of room BOB images. These are
  145. /*   always replaced when entering a new room.
  146. /*
  147. N_ROOMBOBS: 70
  148.  
  149. /* MSGFONT: fontname;fontsize
  150. /*
  151. /*   This is the font used for text displayed in the scene area
  152. /*   by SAY, THINK, RESP and TEXT commands.
  153. /*
  154. /*   The specified font and fontsize must be installed in the
  155. /*   FONT drawer of the currently used boot disk. Also, remember
  156. /*   to run FIXFONTS on the FONTS: drawer, or it won't work.
  157. /*
  158. MSGFONT: hires-5a;8
  159.  
  160. /* COMFONT: fontname;fontsize
  161. /*
  162. /*   This is the font used for the text displayed in the
  163. /*   command area.
  164. /*
  165. /*   The specified font and fontsize must be installed in the
  166. /*   FONT drawer of the currently used boot disk. Also, remember
  167. /*   to run FIXFONTS on the FONTS: drawer, or it won't work.
  168. /*
  169. COMFONT: garnet;9
  170.  
  171. /* TITLEFONT1: fontname;fontsize
  172. /*
  173. /*   This font can be used by TYPE and other commands.
  174. /*
  175. /*   The specified font and fontsize must be installed in the
  176. /*   FONT drawer of the currently used boot disk. Also, remember
  177. /*   to run FIXFONTS on the FONTS: drawer, or it won't work.
  178. /*
  179. TITLEFONT1: garnet;9
  180.  
  181. /* TITLEFONT2: fontname;fontsize
  182. /*
  183. /*   This font can be used by TYPE and other commands.
  184. /*
  185. /*   The specified font and fontsize must be installed in the
  186. /*   FONT drawer of the currently used boot disk. Also, remember
  187. /*   to run FIXFONTS on the FONTS: drawer, or it won't work.
  188. /*
  189. TITLEFONT2: garnet;9
  190.  
  191.  
  192. /* CLPART: filename
  193. /*
  194. /*   This is the screen from which all subsequent BOB images
  195. /*   are grabbed. Once you've grabbed the graphics
  196. /*   BOBS, another CLPART and further BOBS may be specified...
  197. /*
  198. CLPART: hammy.iff
  199.  
  200. /* BOBS: no;startbob;x1;y1;w;h;x-offset;hotspot
  201. /*
  202. /*   This statement grabs a single BOB image or a horizontally arranged
  203. /*   sequence of BOBs.
  204. /*
  205. /*   If the default setup of the command area is used, the following
  206. /*   images must be loaded in using BOBS: statements:
  207. /*
  208. /*          3 - Up arrow for use in the command (and dialogue) area lists
  209. /*          4 - Down arrow -"-
  210. /*          5 - Blank plate used to erase up and down arrows (1 and 2)
  211. /*          6 - Cut-scene indicator (a movie camera in Olaf).
  212. /*
  213. /*          INV_UP:, INV_DOWN:, DLG_UP:, DLG_DOWN:, and CUTSCENE_LAYOUT:
  214. /*          statements can be used to
  215. /*          specify other bob image numbers for these tasks if you so wish.
  216. /*
  217. /* Let's grab Hammy!!!
  218. /*
  219. BOBS: 10;11;1;1;31;47;32;0
  220. BOBS: 10;21;1;49;31;47;32;0
  221. BOBS: 10;31;1;97;31;47;32;0
  222. /* ...and the new mouse pointers
  223. CLPART: hammy_cursors.iff
  224. BOBS: 1;75;23;16;17;17;0;0
  225. BOBS: 1;76;3;16;17;17;0;0
  226.  
  227. CLPART: hammy_Symbols.iff
  228. /* Inventory and dialogue arrows
  229. BOBS: 2;77;163;5;18;15;23;0
  230. BOBS: 2;79;163;21;18;15;23;0
  231. /* Cutscene indicator
  232. BOBS: 1;6;89;1;59;29;0;$11
  233. /* 41-49 CD, certificate, empty glass, full glass, £2, squeaky toy, spade, saw, crowbar
  234. BOBS: 9;41;0;43;51;21;50;0
  235. /* 50-58 knife, screwdriver, empty, spanner, lamp, fork, £1, £14, Az-Bulb.
  236. BOBS: 9;50;0;63;51;21;50;0
  237. /* 59-67 Az-Transmitter, Az-Teleporter, Golden Hamster, 9 Hamsters, Tape, seeds, loadsa seeds, safe key, radio.
  238. BOBS: 9;59;0;83;51;21;50;0
  239. /* 68-68 Penny.
  240. BOBS: 1;68;0;103;51;21;50;0
  241.  
  242.  
  243. /* INV_LAYOUT: x1;y1;x2;y2;rows;cols;ICONS|TEXT;VERTICAL|HORIZONTAL; 
  244. /*             ink/image_number;bg
  245. /*
  246. /*   This statement defines the layout of the inventory in the
  247. /*   command area. VERTICAL|HORIZONTAL determines the scroll
  248. /*   direction. image_number is the image number of the icon
  249. /*   used for vacant slots in the inventory list.
  250. /*
  251. INV_LAYOUT: 306;20;605;59;2;6;ICONS;VERTICAL;52;8
  252.  
  253. /* INV_UP: x1;y1;w;h;image;image2
  254. /*
  255. /*   This defines the area and image for the inventory scroll "up"
  256. /*   (or "left") arrow.
  257. /*
  258. /*   "image" is the image when the function is available.
  259. /*   "image2" is the image when the function is unavailable.
  260. /*
  261. INV_UP: 283;24;17;14;78;77
  262.  
  263. /* INV_DOWN: See "INV_UP:"
  264. /*
  265. INV_DOWN: 283;43;17;14;80;79
  266.  
  267. /* DLG_UP: Same as "INV_UP:", but for the dialogue alternatives.
  268. /*
  269. DLG_UP: 8;6;17;14;78;77
  270.  
  271. /* DLG_DOWN: See "DLG_UP:"
  272. /*
  273. DLG_DOWN: 8;43;17;14;80;79
  274.  
  275. /* N_VERBS: number
  276. /*
  277. /*   Sets thenumber of verbs, or commands if you will, available
  278. /*   to the player. If anything else than 9, A VERB_TEXT and a
  279. /*   VERB_ZONE statement must be included for each verb. (9 was
  280. /*   the old GRAAL 1 default.)
  281. /*
  282. N_VERBS: 9
  283.  
  284. /* VERB_TEXT: verb_no;text
  285. /*
  286. VERB_TEXT: 1;Give
  287.  
  288. /* VERB_ZONE: verb_no;x1;y1;x2;y2
  289. /*
  290. /*   This is the "clickable area" in the command area corresponding
  291. /*   to the verb
  292. /*
  293. VERB_ZONE: 1;6;18;83;30;0;0; 
  294.  
  295. VERB_TEXT: 2;Pick up
  296. VERB_ZONE: 2;90;18;167;30;0;0; 
  297. VERB_TEXT: 3;Use
  298. VERB_ZONE: 3;174;18;251;30;0;0; 
  299. VERB_TEXT: 4;Open
  300. VERB_ZONE: 4;6;33;83;45;0;0; 
  301. VERB_TEXT: 5;Talk to
  302. VERB_ZONE: 5;90;33;167;45;0;0; 
  303. VERB_TEXT: 6;Push
  304. VERB_ZONE: 6;174;33;250;45;0;0; 
  305. VERB_TEXT: 7;Close
  306. VERB_ZONE: 7;6;48;83;60;0;0; 
  307. VERB_TEXT: 8;Look at
  308. VERB_ZONE: 8;90;48;167;60;0;0; 
  309. VERB_TEXT: 9;Pull
  310. VERB_ZONE: 9;174;48;251;60;0;0; 
  311.  
  312. /* LINE_LENGTH: characters
  313. /*
  314. /*   This is the maximum number of characters on one line when
  315. /*   text is displayed with SAY, THINK, etc. Line breaks are
  316. /*   inserted automatically. You can control line breaks manually
  317. /*   by providing \ characters in the string with shorter
  318. /*   intervals than this number indicates.
  319. /*
  320. LINE_LENGTH: 34
  321.  
  322. /* NORMAL_WAIT: waitlength
  323. /*
  324. /*   The larger this value, the longer texts and sentences
  325. /*   spoken remain on screen. Default is 100: If that is not
  326. /*   enough, try other nice, round numbers like 200 or 400
  327. /*
  328. NORMAL_WAIT: 50
  329.  
  330. /* SENTENCE_LAYOUT: x1;y1;x2;y2;ink;inkhi;bg
  331. /*
  332. /*   This is the box in the command area where the sentence
  333. /*   under construction is being shown.
  334. /*
  335. SENTENCE_LAYOUT: 6;2;634;14;3;11;8
  336.  
  337. /* CUTSCENE_LAYOUT: x1;y1;x2;y2;bg;ulx;uly;image
  338. /*
  339. /*   Specifies the properties of the cutscene indicator
  340. /*   x1;y1;x2;y2 is the area to be blanked out
  341. /*   bg is the colour to use in blanking
  342. /*   ulx;uly is the place to paste the indicator
  343. /*   image is the image of the indicator.
  344. /*
  345. CUTSCENE_LAYOUT: 4;17;253;61;8;101;26;6
  346.  
  347. /* ARROW_CURSOR: image;hotspotx;hotspoty
  348. /*
  349. /*   An alternative image for the arrow-shaped mouse pointer.
  350. /*   Image must be lowres and 4 colours. Bot the x and y hotspot
  351. /*   value must be set for the "sensitive point" of the cursor.
  352. /*
  353. ARROW_CURSOR: 76;0;0
  354.  
  355. /* CROSSHAIR_CURSOR: image;hotspotx;hotspoty
  356. /*
  357. /*   An alternative image for the "crosshair" mouse pointer.
  358. /*   Image must be lowres and 4 colours. Bot the x and y hotspot
  359. /*   value must be set for the "sensitive point" of the cursor.
  360. /*
  361. CROSSHAIR_CURSOR: 75;7;7
  362.  
  363. /* CURSOR_PALETTE: RGB;RGB;RGB
  364. /*
  365. /*   These are the three colour used for the mouse pointer in
  366. /*   the command and dialogue area. In the scene area, the
  367. /*   colours used are always colours 16,17, and 18 of the
  368. /*   backdrop picture palette
  369. /*
  370. CURSOR_PALETTE: 811;999;DDD
  371.  
  372. /* MODE_SWITCH: ROLL|INSTANT
  373. /*
  374. /*   Sets the way the command area and dialogue area are switched
  375. /*
  376. MODE_SWITCH: INSTANT
  377.  
  378. /* AREA_SIZES: scene_height;command_height
  379. /*
  380. /*   Sets the proportions of the split-screen display
  381. /*
  382. AREA_SIZES: 120;80
  383.  
  384. /* COMMAND_AREA: file
  385. /*
  386. /*   Specify the name of the picture file containing the graphics
  387. /*   for the command area.
  388. /*
  389. COMMAND_AREA: Hammycomm.iff;NORMAL
  390.  
  391. /* DLG_AREA: file
  392. /*
  393. /*   Specify the name of the picture file containing the graphics
  394. /*   for the dialogue input area.
  395. /*
  396. DLG_AREA: Hammydlg.iff
  397.  
  398. DLG_LAYOUT: 32;3;633;58;4;9;8;14
  399.  
  400. /* RESOURCE: file
  401. /*
  402. /*   This file is a resource bank used for
  403. /*   dialogue boxes, requesters, etc.
  404. /*
  405. /*   DEFAULT means GRAAL's built-in bank will be used - this
  406. /*   produces gray-scale, "neutral" requesters.
  407. /*
  408. /* RESOURCE: DEFAULT
  409. RESOURCE: Wood.Rsb
  410.  
  411.  
  412. /* ===================================================================== */
  413. /*                                                                       */
  414. /* Here is data describing the standard attributes of the main character */
  415. /*                                                                       */
  416. /* ===================================================================== */
  417.  
  418.  
  419. /* CHARACTER_HEIGHT: pixels
  420. /*
  421. /*   approximate or "average" height
  422. /*
  423. CHARACTER_HEIGHT: 40
  424.  
  425. /* CHARACTER_WIDTH: pixels
  426. /*
  427. CHARACTER_WIDTH: 22
  428.  
  429. /* CHARACTER_COL: colorindex
  430. /*
  431. /*   Tells the colour of the dialogue text
  432. /*
  433. CHARACTER_COL: 9
  434.  
  435. /* STILL_xxxxx: BOB image
  436. /*
  437. /*   These are the character's standard poses when faces in
  438. /*   the respective direction.
  439. /*   ($8000+hex number makes the image flip horisontally.)
  440. /*
  441. STILL_RIGHT: 14
  442. STILL_LEFT: $800E
  443. STILL_BACK: 12
  444. STILL_FRONT: 11
  445.  
  446. /* PAUSE_xxxxx: BOB image
  447. /*
  448. /*   These are the character's standard poses when pausing
  449. /*   between moves. (More "ready-for-action" poses than the
  450. /*   STILL_xxxxxx images, although they may be the same if
  451. /*   you like it that way.)
  452. /*   ($8000+hex number makes the image flip horisontally.)
  453. /*
  454. PAUSE_RIGHT: 13
  455. PAUSE_LEFT: $800D
  456. PAUSE_BACK: 12
  457. PAUSE_FRONT: 11
  458.  
  459. /* WALK_xxxxx: amalsequence
  460. /*
  461. /*   These are the default animation sequences for moving in the
  462. /*   four main directions.
  463. /*
  464. WALK_RIGHT: A 0,(16,3)(15,3)(14,3)(17,3)(18,3)(17,3)(14,3)(15,3)
  465. WALK_LEFT: A 0,($8010,3)($800F,3)($800E,3)($8011,3)($8012,3)($8011,3)($800E,3)($800F,3)
  466. WALK_AWAY: A 0,(29,4)(30,4)(31,4)(30,4)
  467. WALK_TOWARD: A 0,(26,4)(27,4)(28,4)(27,4)
  468.  
  469. /* WALK_SPEED: characterspeed
  470. /*
  471. /*   Adjust this number to match the animation speed, making the
  472. /*   character actually walk around rather than "float about".
  473. /*
  474. WALK_SPEED: 0.8
  475.  
  476. /* TALK_MAP: stillimage;animation
  477. /*
  478. /*   The speech animation used depends upon the still image
  479. /*   displayed before it begins. This keyword maps the animations
  480. /*   to the still images. Max. 8 talk_maps may be specified.
  481. /*   direction is one of FRONT, BACK, RIGHT or LEFT. If imagenumbers
  482. /*   point to reverse images, the correct form is $FFFF8000+$imagenumber
  483. /*
  484. TALK_MAP: 11;A 0,(20,18)(11,12)(20,12)(11,6)(19,12)(11,12)(20,6)(11,6)
  485. TALK_MAP: 12;A 0,(21,24)(12,16)(22,36)(12,48)(22,18)(12,32)
  486. TALK_MAP: 13;A 0,(20,18)(11,12)(20,12)(11,6)(19,12)(11,12)(20,6)(11,6)
  487. TALK_MAP: $FFFF800D;A 0,(20,18)(11,12)(20,12)(11,6)(19,12)(11,12)(20,6)(11,6)
  488. TALK_MAP: 14;A 0,(23,18)(14,12)(23,12)(14,6)(23,12)(14,12)(23,6)(14,12)(24,6)(14,18)
  489. TALK_MAP: $FFFF800E;A 0,($8017,18)($800E,12)($8017,12)($800E,6)($8017,12)($800E,12)($8017,6)($800E,12)($8018,6)($800E,18)
  490.  
  491. /* HANDLE_MAP: stillimage;handlelow;handlemid;handlehigh
  492. /*
  493. /*   sets the animations for character handling things much the
  494. /*   same way as TALK_MAP maps the speech animations.
  495. /*
  496. HANDLE_MAP: 11;A 1,(11,12)(36,1);A 1,(11,12)(34,1);A 1,(11,12)(35,1)
  497. HANDLE_MAP: 12;A 1,(12,12)(38,1);A 1,(12,12)(39,1);A 1,(12,12)(40,1)
  498. HANDLE_MAP: 14;A 1,(14,12)(32,1);A 1,(14,12)(33,1);A 1,(14,12)(37,1)
  499. HANDLE_MAP: $FFFF800E;A 1,($800E,12)($8020,1);A 1,($800E,12)($8021,1);A 1,($800E,12)($8025,1)
  500.  
  501.  
  502. /* ===================================================================== */
  503. /*                                                                       */
  504. /*                   Objects, dialogues, etc. set up below               */
  505. /*                                                                       */
  506. /* ===================================================================== */
  507.  
  508.  
  509. /* OBJECT: no;name;startloc;visible;bob;startimg/anim;xpos;ypos; 
  510. /*         coffsx;coffsy;cstill;prep;pickable;animch;command;icon;handlepos; 
  511. /*         types;w1;w2;w3
  512. /*
  513. /*   This is the data for an object.
  514. /*   no = object number, used in coding so if you change this be sure
  515. /*        to change or erase all code that goes with it...
  516. /*   name = a string containing the (initial) inventory name for the object
  517. /*   startloc = object starts in room number ...
  518. /*   visible = is the object shown? NVIS = False, VIS = True
  519. /*   startbob = starting bob number for displaying object
  520. /*   startimg/startanim = bob image or amalsequence used for this object.
  521. /*                        LBOBs can be used, as long as these LBOB numbers
  522. /*                        are valid for each and every room where the
  523. /*                        object can appear!
  524. /*   xpos;ypos = display object in this position.
  525. /*   coffs;coffsy = offset of character relative object when handling
  526. /*   cstill = still image of character when walking to object
  527. /*   prep = object preposition. If not blank, "Use" will require 2nd object
  528. /*   pickable = Can character pick this up? NPICK = False, PICK = True
  529. /*   animch = Amal channel to use for this object
  530. /*   command = This is the verb executed if the player right-clicks the
  531. /*             object. 0 for no "quick command"
  532. /*   icon = This is the image number for the icon used in the
  533. /*          inventory display.
  534. /*   handlepos: LOW, MID or HIGH determines animation for handling object.
  535. /*   type = string of characters indicating object type.
  536. /*          Standard types: M=male character, F=female character, G=group
  537. /*          A=animal, C=container, D=Dead, V=Alive
  538. /*          -=Abstract (unreachable, consisting of air, etc.)
  539. /*          Other types: S=Stone, W=Wood, T=Metal, L=Liquid, - it's up to you.
  540. /*   w1;w2;w3 = have to look these up in the grammar book. Anyway, deals with
  541. /*              how you speak about the objects, as you can see below.
  542. /*
  543. /* OBJECT: no;name;startloc;visible;bob;startimg/anim;xpos;ypos; 
  544. /*         coffsx;coffsy;cstill;prep;pickable;animch;command;icon;handlepos; 
  545. /*         types;w1;w2;w3
  546. /*
  547. /* Object 0 is a dummy object - icon image used for "empty places" in the
  548. /* inventory display.
  549. /*
  550. /*OBJECT: 1;passport;0;NVIS;50;0;0;0;0;0;0;with;PICK;0 ;8;53;LOW;WD;a;this;it
  551. /*OBJECT: 2;pawnshop\owner;2;NVIS;37;RBOB30;396;84;14;-10;$800E; ;NPICK;7;5;0;MID;MV;a;this;him
  552. /*OBJECT: 3;guard;6;VIS;58;RBOB3;183;102;20;0;$800E; ;NPICK;7;5;0;MID;MV;a;this;him
  553.  
  554. OBJECT: 1;bartender;3;VIS;55;A 0,(RBOB3,36)(RBOB2,48)(RBOB3,24)(RBOB2,36)(RBOB3,36)(RBOB2,48)(RBOB3,24)(RBOB2,36)(RBOB3,64)(RBOB2,100);210;52;-22;31;14; ;NPICK;8;5;0;HIGH;MV;a;this;him
  555. OBJECT: 2;shop owner;4;VIS;50;A 0,(RBOB1,40)(RBOB2,30)(RBOB3,50)(RBOB2,10);291;84;-17;3;14; ;NPICK; ;5; ;MID;MV;a;the;him
  556. OBJECT: 3;boat owner;5;VIS;50;RBOB1;193;61;-16;19;14; ;NPICK; ;5; ;HIGH;MV;a;it;him
  557. OBJECT: 4;restaurant owner;6;VIS;50;RBOB1;193;91;-25;3;14; ;NPICK; ;5; ;MID;MV;a;the;him
  558. OBJECT: 5;electronics bloke;20;VIS;50;RBOB1;148;39;-16;25;14; ;NPICK; ;5; ;MID;MV;a; ;him
  559. OBJECT: 6;ivan;21;VIS;53;RBOB4;107;57;-17;27;14; ;NPICK; ;5; ;HIGH;MV; ; ;him
  560. OBJECT: 7;mod bloke;17;VIS;50;A 0,(RBOB1,40)(RBOB9,5)(RBOB2,30)(RBOB9,5);516;85;-14;-1;14; ;NPICK; ;5; ;MID;MV;a ;this;him
  561. OBJECT: 8;vicious dog;17;VIS;51;A 0,(RBOB4,20)(RBOB5,30)(RBOB6,40)(RBOB5,10);542;83;-18;4;14; ;NPICK; ;8; ;LOW;AV;a;this ;him
  562.  
  563. OBJECT: 10;cd;4;VIS;52;RBOB9;144;57;-25;25;14;with;PICK; ;8;41;HIGH; ;a;this;it
  564. OBJECT: 11;glass;9;VIS;53;RBOB2;152;76;-17;5;14;with;PICK; ;8;43;MID; ;a;this;it
  565. OBJECT: 12;certificate;9;VIS;54;RBOB3;120;50;-21;24;14; ;PICK; ;8;42;HIGH;P;a;this;it
  566. OBJECT: 13;two pounds;6;NVIS; ; ; ; ; ; ; ; ; ; ;8;45; ;TG; ;these;them
  567. OBJECT: 14;Squeaky Toy;10;NVIS; ; ; ; ; ; ; ; ;PICK; ;8;46; ; ;a;this;it
  568.  
  569. OBJECT: 15;Spade;12;VIS;54;RBOB2;142;92;-14;1;14;on;PICK; ;8;47;MID;XTW;a;this;it
  570. OBJECT: 16;Saw;12;VIS;55;RBOB3;164;92;14;2;$800E;on;PICK; ;8;48;MID;XTW;a;this;it
  571. OBJECT: 17;Crowbar;12;VIS;56;RBOB5;198;89;13;0;$800E;on;PICK; ;8;49;MID;XT;a;this;it
  572. OBJECT: 18;Knife;12;VIS;57;RBOB8;69;65;0;19;$800E;on;PICK; ;8;50;MID;XT;a;this;it
  573. OBJECT: 19;Screwdriver;12;NVIS; ; ; ; ; ; ; ;on; ; ;8;51; ;XT;a;this;it
  574. OBJECT: 20;Spanner;12;NVIS; ; ; ; ; ; ; ;on; ; ;8;53; ;XT;a;this;it
  575.  
  576. OBJECT: 21;Lamp;7;VIS;52;RBOB3;137;40;-9;36;14;in;PICK; ;8;54;HIGH; ;a;this;it
  577. OBJECT: 22;Fork;7;VIS;53;RBOB4;188;39;-9;37;14;with;PICK; ;8;55;HIGH;TX;a;this;it
  578.  
  579. OBJECT: 23;One Pound;6;NVIS; ; ; ; ; ; ; ;in; ; ;8;56; ; ;a;this;it
  580. OBJECT: 24;Fourteen Pounds;6;NVIS; ; ; ; ; ; ; ; ; ; ;8;57; ; ;a;this;it
  581.  
  582. OBJECT: 25;Az-Bulb;20;VIS;51;RBOB4;187;61;-11;2;14;in;PICK; ;8;58;LOW; ;a;this;it
  583. OBJECT: 26;Az-Transmitter;20;VIS;52;RBOB5;197;61;-6;1;14; ;PICK; ;8;59;LOW; ;a;this;it
  584. OBJECT: 27;Az-Teleporter;20;VIS;53;RBOB6;208;61;-13;2;14;on;PICK; ;8;60;LOW; ;a;this;it
  585.  
  586. OBJECT: 28;Golden Hamster;3;NVIS; ; ; ; ; ; ; ;in; ; ;8;61; ;TAD;a;this;it
  587. OBJECT: 29;Dodgy Tape;21;NVIS; ; ; ; ; ; ; ;in; ; ;8;63; ; ;a;this;it
  588. OBJECT: 30;Mini;21;VIS;50;RBOB1;283;69;17;-2;$800E; ;NPICK; ;8; ;MID;T;a;this;it
  589. OBJECT: 31;Sunflower Seeds;4;NVIS; ; ; ; ; ; ; ;in; ; ;8;64; ; ;some;these;them
  590. OBJECT: 32;Key;22;NVIS; ; ; ; ; ; ; ;in; ; ;8;66; ;T;a;this;it
  591. OBJECT: 33;Radio;11;NVIS; ; ; ; ; ; ; ;on; ; ;8;67; ; ;a;this;it
  592.  
  593. OBJECT: 34;One Penny;1;NVIS; ; ; ; ; ; ; ;in; ; ;8;68; ;T; ;this;it
  594.  
  595. /*OBJECT: 7;Ali;4;VIS;59;A 1,(RBOB2,6);123;117;15;0;$800E; ;NPICK;8;5;0;MID;MV; ; ;him
  596. /*OBJECT: 9;nomad;2;VIS;59;A 0,(RBOB1,6)(RBOB2,12)(RBOB1,6)(RBOB2,200);55;108;20;1;$800E; ;NPICK;9;5;0;MID;MV;a;this;him
  597. /*OBJECT: 11;camel;2;VIS;57;A 0,(RBOB7,200)(RBOB9,100)(RBOB7,400)(RBOB10,100)(RBOB9,200);87;110;32;2;$800E; ;NPICK;8;8;0;MID;AV;a;this;it
  598. /*OBJECT: 14;fishnet;3;VIS;58;RBOB2;20;81;10;3;$800E;with;PICK;0;8;45;MID;D;a;this;it
  599. /*OBJECT: 15;captain;3;VIS;57;PTRN 1;244;58;30;10;$800E; ;NPICK;9;5;0;MID;MV;a;this;him
  600. /*OBJECT: 21;feather;3;VIS;53;RBOB29;147;74;15;0;$800E;with;PICK;0;8;42;LOW;D;a;this;it
  601. /*OBJECT: 24;small knife;0;NVIS;0;99;0;0;0;0;0;on;PICK;0;8;41;MID;TD;a;this;it
  602. /*OBJECT: 27;parcel;0;NVIS;0;0;0;0;0;0;0; ;PICK;0;8;49;MID;WD;a;this;it
  603. /*OBJECT: 28;wrapping\paper;0;NVIS;0;0;0;0;0;0;0;with;PICK;0;8;50;MID;WD;a piece of;this;it
  604. /*OBJECT: 30;dictionary;0;NVIS;0;0;0;0;0;0;0;with;PICK;0;8;44;MID;WD;a;this;it
  605.  
  606. /* DLG: no;dlgobj;dlgcol;dlgoffs;dlganim
  607. /*
  608. /*   This sets up the characters and animations used
  609. /*   by the various dialogue partners. You MUST one DLG statement
  610. /*   for each dialogue there is, but you can actually use any of them
  611. /*   in any of the RESP statements of any dialogue! (Flexible, but
  612. /*   not really that useful.)
  613. /*
  614. /*   dlgcol = the colour index of the dialogue text
  615. /*   dlgoffs = dialogue text offset from character hotspot
  616. /*
  617. /* 1 is bartender
  618. DLG: 1;1;11;-20;A 0,(RBOB4,12)(RBOB3,24)(RBOB4,18)(RBOB3,6)(RBOB2,12)(RBOB3,18)(RBOB2,20)(RBOB4,12)(RBOB3,30)
  619. /* 2 is shop owner
  620. DLG: 2;2;6;-26;A 0,(RBOB1,24)(RBOB4,18)(RBOB5,30)(RBOB4,24)(RBOB5,6)(RBOB6,3)(RBOB7,3)(RBOB6,3)
  621. /* 3 is pleasure boat owner
  622. DLG: 3;3;12;-20;A 0,(RBOB1,12)(RBOB2,6)(RBOB3,18)(RBOB2,12)(RBOB3,24)
  623. /* 4 is floating restaurant owner
  624. DLG: 4;4;13;-40;A 0,(RBOB1,15)(RBOB2,19)(RBOB3,10)(RBOB2,8)(RBOB3,25)
  625. /* 5 is E.M. Cloud, owner of Cloud Electronics
  626. DLG: 5;5;5;15;A 0,(RBOB1,15)(RBOB2,20)(RBOB3,30)(RBOB2,7)(RBOB3,12)
  627. /* 6 is Ivan, the owner of the garage.
  628. DLG: 6;6;12;-30;A 0,(RBOB4,6)(RBOB5,6)(RBOB6,3)(RBOB5,5)(RBOB4,6)
  629. /* 7 is the MOD bloke.
  630. DLG: 7;7;12;-40;A 0,(RBOB1,10)(RBOB3,25)(RBOB1,15)(RBOB3,30)
  631. /* 8 is the dodgy MOD dog.
  632. DLG: 8;8;5;-15;A 0,(RBOB4,15)(RBOB5,25)(RBOB6,10)(RBOB7,40)(RBOB6,20)
  633.  
  634. /* 5 is pawn shop keeper
  635. /*DLG: 5;2;11;-20;A 0,(RBOB30,18)(RBOB31,12)(RBOB30,18)(RBOB31,16)(RBOB32,12)
  636. /* 6 is guard in mountain pass
  637. /*DLG: 6;3;11;-40;A 0,(RBOB1,36)(RBOB2,28)(RBOB1,22)(RBOB2,18)(RBOB1,48)(RBOB2,24)(RBOB3,64)
  638.  
  639.  
  640.  
  641. /* ===================================================================== */
  642. /*                                                                       */
  643. /*               Here come the global actions, working everywhere        */
  644. /*                                                                       */
  645. /* ===================================================================== */
  646.  
  647.  
  648. /* ACTION: verbno;condition;...;command;...
  649.  
  650. ACTION: -2;TRACK OFF;EXIT
  651.  
  652. /*
  653. /* Action 1 - Give
  654. /* ---------------
  655. /*
  656. ACTION: 1;IFOBJ 34;IFTYPE2 M|F;SAY Yeah, give #W23 one penny! That would really be useful.;EXIT
  657. ACTION: 1;IFOBJ 34;IFTYPE2 A;SAY Are you going to try and choke it or what?!;EXIT
  658.  
  659. ACTION: 1;IFOBJ 11;IFOF 11,1=1;IFTYPE2 A;SAY I don't want to make the poor thing drunk!;EXIT
  660. ACTION: 1;IFOBJ 11;IFOF 11,1=2;IFTYPE2 M|F;SAY Sorry, I am not into poisoning people.;EXIT
  661. ACTION: 1;IFOBJ 11;IFOF 11,1=2;IFTYPE2 A;SAY You really are a nasty person.;SAY You're willing to poison the poor animal with this muck just to get further in the game!;SAY Well, you can forget that idea.;EXIT
  662.  
  663. ACTION: 1;IFTYPE2 M|F;SAY I'm not a charitable organisation!|No thanks, I want to keep it for the time being.|I don't think my gift would be appreciated.;EXIT
  664.  
  665. ACTION: 1;IFPICK;SAY There's no point in that!;EXIT
  666. ACTION: 1;SAY I can't do that!;EXIT
  667.  
  668. /*
  669. /* Action 2- Pick up
  670. /* -----------------
  671. /*
  672. ACTION: 2;IFCARR;SAY I've already got it!;EXIT
  673. ACTION: 2;IFPICK;MOBJ;HANDLE;W 12;PICK;HANDLE -1;EXIT
  674. ACTION: 2;IFTYPE F;SAY I'd love to but I don't think she'd appreciate it.!;EXIT
  675. ACTION: 2;IFTYPE M;SAY Err..... no thanks!;EXIT
  676. ACTION: 2;IFTYPE -;SAY I think you're taking the piss now.;EXIT
  677. ACTION: 2;SAY I can't pick that up.|Sorry, can't do that.;EXIT
  678.  
  679. /*
  680. /* Action 3 - Use
  681. /* --------------
  682. /*
  683.  
  684. ACTION: 3;IFOBJ 26;IFOF 1=0;SAY I don't know what frequency I have to transmit on!;EXIT
  685. ACTION: 3;IFOBJ 26;IFOF 1=1;SAY I think I've done enough playing about with that.;EXIT
  686. ACTION: 3;IFOBJ 33;IFOBJ2 26;IFOF 26,1=1;SAY I've already put the frequency in.;EXIT
  687. ACTION: 3;IFOBJ 33;IFOBJ2 26;SAY Okay, let's transfer the frequency over...;W 50;SAY Okay, that's done.;SETOF 26,1=1;SAY Let's transmit!;SAY <Hey, John, we got a bit of a problem at the back of the airfield here...>
  688. ACTION: 3;IFOBJ 33;IFOBJ2 26;SAY <Could you give us a hand here?>;TEXT -1, ,5,<Yeah, roger that, I'm on my way.>;W 50;SAY Well, that seemed to work!;EXIT
  689.  
  690. ACTION: 3;IFOBJ 19;IFOBJ2 25|26|27|29|33;SAY There is no point in taking that apart.;EXIT
  691. ACTION: 3;IFTYPE X;IFOBJ2 25|26|27;SAY You can't break it like that!;SAY Aztec equipment is unbreakable, remember?;EXIT
  692.  
  693. ACTION: 3;IFOBJ 25;IFOBJ2 21;IFOF 21,2=0;IFCARR 25;OBJ1 21;SETOF 2=1;SAY Okay, the lamp is now fitted with an Aztec bulb!;NAME Lamp with Aztec Bulb!;REMOVE 25,U,0;EXIT
  694.  
  695. ACTION: 3;IFOBJ 14;SAY Who do you think I am, a little kid?|That would be very childish.;EXIT
  696.  
  697. ACTION: 3;IFOBJ 11;IFOF 1=0;IFTYPE2 M|F;SAY It's not very nice to glass people!;EXIT
  698. ACTION: 3;IFTYPE X;IFTYPE2 T;SAY I think that would hurt the #OBJ1 more than the #OBJ2!;EXIT
  699. ACTION: 3;IFTYPE X;IFTYPE2 W;SAY I'm not a vandal, you know!;EXIT
  700. ACTION: 3;IFTYPE X;IFTYPE2 M|F;SAY That is not a very nice thing to do!|You can't go round hurting people like that!;EXIT
  701. ACTION: 3;IFTYPE X;IFTYPE2 A;SAY Aww, no, I don't want to hurt the poor little animal!;EXIT
  702.  
  703. ACTION: 3;IFTYPE -;SAY Oh, come on!;EXIT
  704. ACTION: 3;IFTYPE M|F;SAY Use #OBJ1? You can't just use people like that!;EXIT
  705. ACTION: 3;SAY I don't follow you.|How would that help me?|Sounds a bit pointless to me.|Try something more logical next time!;EXIT
  706.  
  707. /*
  708. /* Action 4 - Open
  709. /* ---------------
  710. /*
  711.  
  712. ACTION: 4;IFTYPE M|F|A;SAY I'm not qualified to perform surgery!;EXIT
  713. ACTION: 4;SAY I can't open #W13.|Sorry, I can't open that.|It won't open.;EXIT
  714.  
  715. /*
  716. /* Action 5 - Talk to
  717. /* ------------------
  718. /*
  719. ACTION: 5:IFTYPE D;IFTYPE G;SAY I could, but #OBJ1 make a lousy audience!;EXIT
  720. ACTION: 5;IFTYPE G;SAY I'd rather not disturb them.;EXIT
  721. ACTION: 5;IFTYPE A;SAY Yeah, right. I'm going to get a lot of sense out of it!;EXIT
  722. ACTION: 5;IFTYPE F;SAY I think I'll leave her alone for the minute.;EXIT
  723. ACTION: 5;IFTYPE M;SAY Why would I want to talk to him?;EXIT
  724. ACTION: 5;SAY I can talk to #W12 #OBJ1 all day, but I will not get any response.|If you like talking to inanimate objects, that is fine, but don't expect me to.;EXIT
  725.  
  726. /*
  727. /* Action 6 - Push
  728. /* ---------------
  729. /*
  730. ACTION: 6;IFTYPE -;SAY I reckon you're a bit drunk!;EXIT
  731. ACTION: 6;IFTYPE M;SAY No thanks, he'll probably thump me one.;EXIT
  732. ACTION: 6;IFTYPE F;SAY Why would I want to push a woman?;SAY Who do you think I am?;EXIT
  733. ACTION: 6;IFTYPE A;SAY I don't think I will... it looks vicious.;EXIT
  734. ACTION: 6;SAY That would not accomplish anything.|Why should I do that?|There is no point in doing that.;EXIT
  735.  
  736. /*
  737. /* Action 7 - Close
  738. /* ----------------
  739. /*
  740. ACTION: 7;IFTYPE M;SAY I'd have a hard job to shut him up!;EXIT
  741. ACTION: 7;IFTYPE F|A;SAY No can do, I'm afraid.;EXIT
  742. ACTION: 7;SAY I can't close that!|There is nothing that can be shut.|Why don't you try closing your mouth instead?;EXIT
  743.  
  744. /*
  745. /* Action 8 - Look at
  746. /* ------------------
  747. /*
  748. ACTION: 8;MOBJ
  749.  
  750. ACTION: 8;IFOBJ 34;SAY It's a one penny coin.;SAY I'm rich!;EXIT
  751.  
  752. ACTION: 8;IFOBJ 33;SAY It says "John's Receiver. MOD Property.";SAY It's tuned to an MOD frequency.;SAY I can occasionally hear some bloke waffling.;EXIT
  753.  
  754. ACTION: 8;IFOBJ 31;IFOF 1=0;SAY Some sunflower seeds.;EXIT
  755. ACTION: 8;IFOBJ 31;IFOF 1=1;SAY Loadsa sunflower seeds!;EXIT
  756. ACTION: 8;IFOBJ 29;SAY It says on the label: "Leader's rave tracks.";SAY "Recorded on super Lo-Fi-tone tape on Basheewa system.";SAY Bet it sounds really good! (NOT);EXIT
  757.  
  758. ACTION: 8;IFOBJ 28;IFOF 1=0;SAY It's a golden hamster!;SAY Not a real one, just a gold plated plastic one.;EXIT
  759. ACTION: 8;IFOBJ 28;SAY Wow, nine golden hamsters!;EXIT
  760.  
  761. ACTION: 8;IFOBJ 27;SAY Aztec Teleporter. Beta version.;EXIT
  762. ACTION: 8;IFOBJ 26;SAY Aztec Transmitter. Transmit on any frequency!;EXIT
  763. ACTION: 8;IFOBJ 25;SAY Aztec Light Bulb. The Ultimate in lighting technology!;EXIT
  764.  
  765. ACTION: 8;IFOBJ 24;SAY Fourteen pounds, cash.;EXIT
  766. ACTION: 8;IFOBJ 23;SAY One pound coin.;SAY Jack pays terrible wages.;EXIT
  767.  
  768. ACTION: 8;IFOBJ 21;IFOF 1=0;SAY It's a standard mains lamp.;EXIT
  769. ACTION: 8;IFOBJ 21;IFOF 2=0;SAY It's a standard mains lamp with a bulb that doesn't work!;EXIT
  770. ACTION: 8;IFOBJ 21;IFOF 3=0;SAY It's a standard mains lamp, but it is fitted with an Aztec light bulb!;EXIT
  771. ACTION: 8;IFOBJ 21;SAY It's a mains lamp, but the Aztec Bulb seems to be lighting even though it is not plugged in!;EXIT
  772.  
  773. ACTION: 8;IFOBJ 22;SAY It's a fork. Quite a bendy one, too.;EXIT
  774.  
  775. ACTION: 8;IFOBJ 20;SAY Well, it's a spanner. What else do I need so say?;EXIT
  776. ACTION: 8;IFOBJ 19;SAY It's a flatblade screwdriver.;EXIT
  777. ACTION: 8;IFOBJ 18;SAY It's a sharp retractable knife.;EXIT
  778. ACTION: 8;IFOBJ 17;SAY Essential for burglary!;SAY (Joke);EXIT
  779. ACTION: 8;IFOBJ 16;SAY Look, it's a saw, okay! What do you expect me to say about it?;EXIT
  780. ACTION: 8;IFOBJ 15;SAY Perfect for digging.;EXIT
  781. ACTION: 8;IFOBJ 14;SAY It's a squeaky toy, which looks vaguely like a rat.;SAY If you squeeze it, it squeaks!;EXIT
  782. ACTION: 8;IFOBJ 13;SAY Two pound coins.;SAY I'm not sure what ingredients you can buy with that, but never mind.;EXIT
  783. ACTION: 8;IFOBJ 11;IFOF 1=0;SAY It's an empty glass.;EXIT
  784. ACTION: 8;IFOBJ 11;IFOF 1=1;SAY It's a glass filled with whisky.;EXIT
  785. ACTION: 8;IFOBJ 11;IFOF 1=2;SAY It's a glass filled with Cockroach and Whisky stew.;SAY I bet it tastes disgusting but I'm not going to try it.;EXIT
  786. ACTION: 8;IFOBJ 12;SAY Chef's certificate:\\This is to certify that Kevin Burns...;SAY ...is qualified to cook food to the standard required for public consumption.;EXIT
  787. ACTION: 8;IFOBJ 10;SAY "Turbo Guitar". Hmm.;SAY After paying £2 for this, I wonder if it is any good?;EXIT
  788.  
  789. ACTION: 8;IFTYPE F;SAY No thanks, she might get the wrong idea.;EXIT
  790. ACTION: 8;IFTYPE A;SAY What a cute looking thing.;EXIT
  791. ACTION: 8;SAY Nothing special about it.|Just #W11 #OBJ1!|Just a boring #OBJ1!;EXIT
  792.  
  793. /*
  794. /* Action 9 - Pull
  795. /* ---------------
  796. /*
  797. ACTION: 9;IFTYPE G;SAY What do you mean - pull their legs??;EXIT
  798. ACTION: 9;IFTYPE M;SAY I don't think he'll budge.;EXIT
  799. ACTION: 9;IFTYPE F;SAY I'm trying to find a way out, not pull the birds!;EXIT
  800. ACTION: 9;IFTYPE A;SAY No thanks, it might bite me or something.;EXIT
  801. ACTION: 9;SAY It won't budge.|That won't help anything.|There's no point in doing that;EXIT
  802.  
  803. /*
  804. /* Action 10 - Score
  805. /* -----------------
  806. /*
  807. ACTION: 10;TEXT -1,0,11,You have scored #R#0#20# points so far.;EXIT
  808. /* End of boot file - There must be some comments here, otherwise the last
  809. /* command is not regarded.
  810.